A virtual machine emulates a particular computing platform to provide the system user with flexibility and/or options in allocating workload and execution across the platform. For example, while a system executes a first operating system (e.g., WINDOWS®) a particular application may operate more efficiently under a second operating system (e.g., LINUX), in such instances, the application may be executed in a LINUX environment emulated via a virtual machine. While the virtual machine offers an emulated operating environment, such virtual machines share physical system resources such as one or more physical CPU cores and cache memory coupled to the physical CPU core. While desktop, workstation, and server systems may provide sufficient CPU core bandwidth and cache memory, smaller platforms such as portable devices, smartphones, wearable computing devices, and handheld computing devices may have limited physical resources.
Current mobile platform virtualization permits multiple operating systems executed by virtual machines to share system or platform physical resources such as CPUs, graphical processing units (GPUs), memory, input/output interfaces, and similar. Mobile virtualization enjoys increasing popularity to accommodate an increasing number of mobile applications and/or services such as connectivity, security, entertainment, location determination, and similar. The feasibility of mobile virtualization increases as mobile platforms are equipped with increasing quantities of system resources, such as multiple CPU cores, GPUs, and larger and high clock speed memory and I/O.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications and variations thereof will be apparent to those skilled in the art.